package com.sporadic.desk.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sporadic.desk.pojo.Order;
import dto.OrderDTO;
import dto.OrderDetailsDTO;
import vo.OrderEchoVO;
import vo.ResponseData;

import java.util.List;

/**
 * @program: sporadic
 * @description:
 * @author: LHD   QQ:1727865856
 * @create: 2019-10-24 09:58
 **/
public interface OrderService extends IService<Order> {
    /**
     * 创建订单
     *
     * @param orders 订单信息
     * @return
     */
    boolean addOrder(OrderDTO orders);

    /**
     * 查询订单详情
     *
     * @param deskNum 台号
     * @param mid     门店id
     * @param stauts  订单状态
     * @return
     */
    OrderEchoVO queryOrder(Integer current, Integer deskNum, Integer mid, Integer stauts);

    /**
     * 支付后更改订单状态
     *
     * @param orderId 订单id
     * @return 是否成功 true 成功
     */
    boolean updateOrderStatus(String orderId);

    /**
     * 根据订单号查询全部订单信息
     *
     * @param orderNo 订单号
     * @return 订单信息
     */
    List<OrderDetailsDTO> queryAll(String orderNo);

    /**
     * 查询订单信息
     * @param orderId 订单id
     * @return 查询结果
     */
    ResponseData<OrderDTO> queryByid(String orderId);

    /**
     * 根据门店id以及餐桌id查询订单信息
     * @param mid 门店id
     * @param tableName 餐桌名称
     * @return
     */
    OrderDTO queryBymidANDBytableNum(Integer mid,String tableName);

    /**
     * 根据门店id查询本天的订单
     * @param mid 门店id
     */
    List<OrderDTO> queryBymid(Integer mid);

    /**
     * 根据订单号修改订单支付金额(优惠券)
     * @return
     */
    ResponseData<Boolean> updateOrder(String json);
}
